/***************************************************************************
 创建者: 华磊
 开始时间: 2020.8.14
 copyright: (C) 华友高科
 修改说明: (每次有修改就添加一条，带有 修改人，修改时间，修改描述)
 example (1) hualei 2020.5.8 类的具体实现代码编写

 ***************************************************************************/
#include "ecatlog.h"
#include <stdarg.h>
#include <stdio.h>
#include <QDebug>

EcatLog::EcatLog()
{

}
//    EC_T_DWORD CAtEmLogging::LogMsg(const EC_T_CHAR* szFormat, ...)
//    {
//    EC_T_VALIST vaArgs;
//    EC_T_DWORD  dwRes = EC_E_NOERROR;

//        EC_VASTART(vaArgs, szFormat);
//        dwRes = InsertNewMsg(m_pAllMsgBufferDesc, szFormat, vaArgs);
//        EC_VAEND(vaArgs);
//        return dwRes;
//    }


//int EcatLog::errorWrapper(const char* fmt, va_list vaArgs)
//{

//    if (EC_NULL != G_pOsDbgMsgLoggingInst)
//    {
//        bPrint = G_pOsDbgMsgLoggingInst->OsDbgMsgHook(szFormat, vaArgs);
//    }
//    if (bPrint)
//    {
//        vprintf(szFormat, vaArgs);
//    }
//    return EC_FALSE;
//}


void EcatLog::error( const char *fmt, ... )
{
    va_list args;
   // <a href="sdfs" target="_blank" class="baidu-highlight"></a>
    va_start(args, fmt);
  //  fputs("Error: ", stderr);
    vprintf( fmt, args);
    va_end(args);
}

void EcatLog::message( const char *fmt, ... )
{
    va_list args;
    va_start(args, fmt);
    fputs("Message: ", stdout);
    vprintf(fmt, args);
    //va_arg(arg_ptr, int);
    va_end(args);
}

//================ e.g.1
//void EcatLog::sum(int n, ...)
// {
//     va_list arg_ptr ;//= NULL;  //申请一个指针
//     va_start(arg_ptr, n);    //设置指针指向
//     va_arg(arg_ptr, int);    //循环将参数逐个取出
//     va_end(arg_ptr);    //释放工作
//}
//================ e.g.2
//int execl(const char *file, const char *args, ...)
//{
//    va_list ap;
//    char *array[MAXARGS +1];
//    int argno = 0;

//    va_start(ap, args);
//    while (args != 0 && argno < MAXARGS)
//    {
//        array[argno++] = args;
//        args = va_arg(ap, const char *);
//    }
//    array[argno] = (char *) 0;

//    va_end(ap);
//    return 0;
//}
//=================


void EcatLog::addMessage( const char *fmt, ... )
{
    va_list args;
    va_start(args, fmt);
    va_arg(args, int);    //循环将参数逐个取出


    //va_arg(arg_ptr, int);
    va_end(args);

   // qDebug(fmt, args );
}

void EcatLog::addError( const char *fmt, ... )
{

   // qDebug(fmt, args );
}

void EcatLog::addMessage( int id , const char* fmt, ... )
{
    va_list args;
    va_start(args, fmt);

    va_end(args);

   if(id>0&&id<10000){
       //约定的
   }else{
       //自定义的
   }
}

void EcatLog::addError( int id , const char* fmt, ... ){
    if(id>0&&id<10000){
        //约定的
    }else{
        //自定义的
    }

}
